2025-03-25 04:26:14,932 - INFO - Num classes: 3
2025-03-25 04:33:26,420 - INFO - Class weights: tensor([0.5161, 4.2842, 1.2065], device='cuda:0')
2025-03-25 04:33:26,426 - INFO - Model architecture:
HyperspectralLogisticRegressionModel(
  (linear): Sequential(
    (0): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=1080, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (1): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=20, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (2): Linear(in_features=20, out_features=3, bias=True)
  )
)
2025-03-25 04:33:26,426 - INFO - Using cuda device
2025-03-25 17:31:10,598 - INFO - Num classes: 3
2025-03-25 17:37:17,316 - INFO - Class weights: tensor([0.5161, 4.2842, 1.2065], device='cuda:0')
2025-03-25 17:37:17,319 - INFO - Model architecture:
HyperspectralLogisticRegressionModel(
  (linear): Sequential(
    (0): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=1080, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (1): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=20, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (2): Linear(in_features=20, out_features=3, bias=True)
  )
)
2025-03-25 17:37:17,319 - INFO - Using cuda device
2025-03-25 17:46:58,086 - INFO - Epoch: 0/100. Training time: 377.802
2025-03-25 17:46:58,087 - INFO - Training Metrics...
2025-03-25 17:46:58,087 - INFO - {'loss': 1.017181613506415, 'f1': 44.94238326519858, 'acc': 56.77831980147828, 'precision': 49.4054814140287, 'recall': 53.93290494932553, 'balanced acc': 53.93290494932553}
2025-03-25 17:46:58,087 - INFO - Validation Metrics... Inference time: 202.960
2025-03-25 17:46:58,087 - INFO - {'loss': 0.8513934506645685, 'f1': 50.75409799098347, 'acc': 60.168636778287265, 'precision': 51.0411705211953, 'recall': 51.386493486624275, 'balanced acc': 51.386493486624275}
2025-03-25 17:46:58,087 - INFO - ==================================================
2025-03-25 18:34:12,499 - INFO - Epoch: 5/100. Training time: 361.703
2025-03-25 18:34:12,499 - INFO - Training Metrics...
2025-03-25 18:34:12,499 - INFO - {'loss': 0.7859073372987601, 'f1': 58.48229232726392, 'acc': 68.84677473753925, 'precision': 61.429978427596055, 'recall': 64.43899021457999, 'balanced acc': 64.43899021457999}
2025-03-25 18:34:12,499 - INFO - Validation Metrics... Inference time: 198.723
2025-03-25 18:34:12,499 - INFO - {'loss': 0.8477937533885618, 'f1': 58.93077238946572, 'acc': 62.46763291946525, 'precision': 60.040205037786045, 'recall': 63.990004323122506, 'balanced acc': 63.990004323122506}
2025-03-25 18:34:12,499 - INFO - ==================================================
2025-03-25 19:21:59,868 - INFO - Epoch: 10/100. Training time: 372.875
2025-03-25 19:21:59,869 - INFO - Training Metrics...
2025-03-25 19:21:59,869 - INFO - {'loss': 0.7921360899240543, 'f1': 58.19806128005469, 'acc': 68.89008382800236, 'precision': 61.10826144049697, 'recall': 66.79249267487151, 'balanced acc': 66.79249267487151}
2025-03-25 19:21:59,869 - INFO - Validation Metrics... Inference time: 199.830
2025-03-25 19:21:59,869 - INFO - {'loss': 0.7756123633324346, 'f1': 61.92174481964167, 'acc': 66.78708667011108, 'precision': 63.56809196117735, 'recall': 65.04150324962173, 'balanced acc': 65.04150324962173}
2025-03-25 19:21:59,869 - INFO - ==================================================
2025-03-25 20:09:29,606 - INFO - Epoch: 15/100. Training time: 367.106
2025-03-25 20:09:29,606 - INFO - Training Metrics...
2025-03-25 20:09:29,606 - INFO - {'loss': 0.734547095421033, 'f1': 62.783782587433535, 'acc': 72.55639635661957, 'precision': 64.05462564659533, 'recall': 68.9421312719739, 'balanced acc': 68.9421312719739}
2025-03-25 20:09:29,606 - INFO - Validation Metrics... Inference time: 196.888
2025-03-25 20:09:29,606 - INFO - {'loss': 0.7571707760231404, 'f1': 62.853073112052925, 'acc': 67.48299151543529, 'precision': 64.01922625386658, 'recall': 66.69182644149664, 'balanced acc': 66.69182644149664}
2025-03-25 20:09:29,606 - INFO - ==================================================
2025-03-25 20:57:04,497 - INFO - Epoch: 20/100. Training time: 375.019
2025-03-25 20:57:04,498 - INFO - Training Metrics...
2025-03-25 20:57:04,498 - INFO - {'loss': 0.759033297881102, 'f1': 62.39019008891958, 'acc': 72.60306541486787, 'precision': 63.560920142237585, 'recall': 67.99027562807898, 'balanced acc': 67.99027562807898}
2025-03-25 20:57:04,498 - INFO - Validation Metrics... Inference time: 197.962
2025-03-25 20:57:04,498 - INFO - {'loss': 0.7403766248799577, 'f1': 63.960879421194306, 'acc': 68.34885506813485, 'precision': 66.35703626098905, 'recall': 68.01080578942896, 'balanced acc': 68.01080578942896}
2025-03-25 20:57:04,498 - INFO - ==================================================
2025-03-25 21:44:37,205 - INFO - Epoch: 25/100. Training time: 370.774
2025-03-25 21:44:37,205 - INFO - Training Metrics...
2025-03-25 21:44:37,205 - INFO - {'loss': 0.7405822598017179, 'f1': 59.21782045622416, 'acc': 68.4810364951269, 'precision': 62.69399497198182, 'recall': 67.84466100783078, 'balanced acc': 67.84466100783078}
2025-03-25 21:44:37,206 - INFO - Validation Metrics... Inference time: 198.888
2025-03-25 21:44:37,206 - INFO - {'loss': 0.7693957482712178, 'f1': 64.29596107710593, 'acc': 68.41747428797468, 'precision': 65.86292776437003, 'recall': 68.34122202240412, 'balanced acc': 68.34122202240412}
2025-03-25 21:44:37,206 - INFO - ==================================================
2025-03-25 22:31:47,742 - INFO - Epoch: 30/100. Training time: 365.350
2025-03-25 22:31:47,743 - INFO - Training Metrics...
2025-03-25 22:31:47,743 - INFO - {'loss': 0.7301979599854885, 'f1': 62.77502178252793, 'acc': 71.77489084576139, 'precision': 64.71949454395396, 'recall': 69.29154088688718, 'balanced acc': 69.29154088688718}
2025-03-25 22:31:47,743 - INFO - Validation Metrics... Inference time: 197.620
2025-03-25 22:31:47,743 - INFO - {'loss': 0.778317651416682, 'f1': 63.54726859893365, 'acc': 67.11870418657969, 'precision': 67.11939499236614, 'recall': 68.7348970031778, 'balanced acc': 68.7348970031778}
2025-03-25 22:31:47,743 - INFO - ==================================================
2025-03-25 23:18:59,229 - INFO - Epoch: 35/100. Training time: 365.421
2025-03-25 23:18:59,230 - INFO - Training Metrics...
2025-03-25 23:18:59,230 - INFO - {'loss': 0.7000065400050237, 'f1': 64.52838788103617, 'acc': 74.39457979706306, 'precision': 65.57756204304135, 'recall': 72.37625425193566, 'balanced acc': 72.37625425193566}
2025-03-25 23:18:59,230 - INFO - Validation Metrics... Inference time: 202.094
2025-03-25 23:18:59,230 - INFO - {'loss': 0.7591214896757391, 'f1': 64.20960891403496, 'acc': 68.89258670240248, 'precision': 65.38080377491066, 'recall': 67.40670956117688, 'balanced acc': 67.40670956117688}
2025-03-25 23:18:59,230 - INFO - ==================================================
2025-03-26 00:06:13,635 - INFO - Epoch: 40/100. Training time: 366.352
2025-03-26 00:06:13,635 - INFO - Training Metrics...
2025-03-26 00:06:13,635 - INFO - {'loss': 0.7345155446957319, 'f1': 60.76152986837072, 'acc': 71.28308354591837, 'precision': 62.41114342815697, 'recall': 70.39843613252079, 'balanced acc': 70.39843613252079}
2025-03-26 00:06:13,635 - INFO - Validation Metrics... Inference time: 197.162
2025-03-26 00:06:13,636 - INFO - {'loss': 0.7311087129991266, 'f1': 63.0156562579143, 'acc': 68.24834809319297, 'precision': 65.87023385917699, 'recall': 66.03778505365987, 'balanced acc': 66.03778505365987}
2025-03-26 00:06:13,636 - INFO - ==================================================
2025-03-26 00:53:10,116 - INFO - Epoch: 45/100. Training time: 361.636
2025-03-26 00:53:10,117 - INFO - Training Metrics...
2025-03-26 00:53:10,117 - INFO - {'loss': 0.7076720885741405, 'f1': 62.977916680296694, 'acc': 72.92180243491627, 'precision': 65.13238619709904, 'recall': 70.8214696824542, 'balanced acc': 70.8214696824542}
2025-03-26 00:53:10,117 - INFO - Validation Metrics... Inference time: 200.330
2025-03-26 00:53:10,117 - INFO - {'loss': 0.6545744960821127, 'f1': 67.01305394697336, 'acc': 72.33974384848875, 'precision': 67.61389105390343, 'recall': 69.92791868700886, 'balanced acc': 69.92791868700886}
2025-03-26 00:53:10,117 - INFO - ==================================================
2025-03-26 01:40:26,739 - INFO - Epoch: 50/100. Training time: 367.339
2025-03-26 01:40:26,739 - INFO - Training Metrics...
2025-03-26 01:40:26,739 - INFO - {'loss': 0.67822298178306, 'f1': 64.82374661244373, 'acc': 74.6417482257326, 'precision': 66.13771967274015, 'recall': 72.98157376841475, 'balanced acc': 72.98157376841475}
2025-03-26 01:40:26,739 - INFO - Validation Metrics... Inference time: 196.273
2025-03-26 01:40:26,739 - INFO - {'loss': 0.6981925813457633, 'f1': 65.39964904275415, 'acc': 70.11786864666753, 'precision': 67.40239902670751, 'recall': 69.16552092874474, 'balanced acc': 69.16552092874474}
2025-03-26 01:40:26,739 - INFO - ==================================================
2025-03-26 02:27:31,774 - INFO - Epoch: 55/100. Training time: 368.929
2025-03-26 02:27:31,774 - INFO - Training Metrics...
2025-03-26 02:27:31,774 - INFO - {'loss': 0.6989739307990441, 'f1': 63.08792441457035, 'acc': 73.7327811232666, 'precision': 63.78763096446293, 'recall': 72.00348255836705, 'balanced acc': 72.00348255836705}
2025-03-26 02:27:31,774 - INFO - Validation Metrics... Inference time: 198.027
2025-03-26 02:27:31,774 - INFO - {'loss': 0.6833294894121871, 'f1': 65.57191485069869, 'acc': 70.72204574076466, 'precision': 66.5349642478875, 'recall': 68.60653623435545, 'balanced acc': 68.60653623435545}
2025-03-26 02:27:31,774 - INFO - ==================================================
2025-03-26 03:15:15,060 - INFO - Epoch: 60/100. Training time: 375.569
2025-03-26 03:15:15,060 - INFO - Training Metrics...
2025-03-26 03:15:15,060 - INFO - {'loss': 0.7032719881106646, 'f1': 62.0621913004913, 'acc': 71.33800560488619, 'precision': 64.13032855870317, 'recall': 70.71537573598951, 'balanced acc': 70.71537573598951}
2025-03-26 03:15:15,060 - INFO - Validation Metrics... Inference time: 197.424
2025-03-26 03:15:15,060 - INFO - {'loss': 0.7286652907540526, 'f1': 64.84605197665515, 'acc': 69.01872497416687, 'precision': 66.83808009051194, 'recall': 69.41850937920911, 'balanced acc': 69.41850937920911}
2025-03-26 03:15:15,060 - INFO - ==================================================
2025-03-26 04:02:27,799 - INFO - Epoch: 65/100. Training time: 371.671
2025-03-26 04:02:27,799 - INFO - Training Metrics...
2025-03-26 04:02:27,799 - INFO - {'loss': 0.7024429822579409, 'f1': 60.80020988523399, 'acc': 72.6222542803179, 'precision': 61.82697955255831, 'recall': 71.03598330440462, 'balanced acc': 71.03598330440462}
2025-03-26 04:02:27,799 - INFO - Validation Metrics... Inference time: 197.320
2025-03-26 04:02:27,799 - INFO - {'loss': 0.6819474893280223, 'f1': 65.13060733328139, 'acc': 70.08096058834926, 'precision': 65.76470997381509, 'recall': 68.94062568501738, 'balanced acc': 68.94062568501738}
2025-03-26 04:02:27,799 - INFO - ==================================================
2025-03-26 04:11:53,562 - INFO - Early stopping criterion met. Stopping training.
2025-03-26 04:11:54,230 - INFO - Initializing final Evaluations:

2025-03-26 04:15:13,578 - INFO - Final validation metrics:
{'f1': 68.2679526422166, 'acc': 72.33974384848875, 'precision': 68.26448448904667, 'recall': 70.9909347155499, 'balanced acc': 70.9909347155499}
2025-03-30 23:35:51,314 - INFO - Num classes: 3
2025-03-30 23:41:56,816 - INFO - Class weights: tensor([0.5161, 4.2842, 1.2065], device='cuda:0')
2025-03-30 23:41:56,819 - INFO - Model architecture:
HyperspectralLogisticRegressionModel(
  (linear): Sequential(
    (0): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=1080, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (1): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=20, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (2): Linear(in_features=20, out_features=3, bias=True)
  )
)
2025-03-30 23:41:56,819 - INFO - Using cuda device
2025-03-30 23:41:56,829 - INFO - Training parameters restored at epoch 46
2025-03-30 23:41:56,835 - INFO - Initializing final Evaluations:

2025-03-30 23:45:04,048 - INFO - Final validation metrics:
{'f1': 68.2679526422166, 'acc': 72.33974384848875, 'precision': 68.26448448904667, 'recall': 70.9909347155499, 'balanced acc': 70.9909347155499}
2025-03-30 23:46:59,421 - INFO - Final test pixel-wise classification metrics:
{'f1': 68.26513660629118, 'acc': 70.89855306116368, 'precision': 72.30037946157019, 'recall': 69.87273303169822, 'balanced acc': 69.87273303169822}
2025-04-05 02:19:42,816 - INFO - Num classes: 3
2025-04-05 02:19:42,819 - INFO - Class weights: None
2025-04-05 02:19:52,353 - INFO - Num classes: 3
2025-04-05 02:19:52,353 - INFO - Class weights: None
2025-04-05 02:19:52,472 - INFO - Model architecture:
HyperspectralLogisticRegressionModel(
  (linear): Sequential(
    (0): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=1080, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (1): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=20, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (2): Linear(in_features=20, out_features=3, bias=True)
  )
)
2025-04-05 02:19:52,472 - INFO - Using cuda device
2025-04-05 02:19:52,483 - INFO - Initializing final Evaluations:

